// --------------------------------------------------------------------
// I/O操作及相关知识
// --------------------------------------------------------------------

#include <cstdio>
#include <cstring>
#include <fcntl.h>
#include <unistd.h>
#include <sys/select.h>
#include <iostream>
#include "sock.hpp"
#include "common.hpp"


int main()
{
    ymbxSock::CreateLog("socketlogger");
    ymbxSock::ymbxSocket sock;
    sock.Socket("tcp");

    // int fd=open("./io.md",O_WRONLY | O_APPEND);
    // 类似于重定向
    // int ret=fcntl(fd,F_DUPFD,5);
    // int ret=dup(fd);
    // int ret = dup2(fd,1);
    // if(ret<0){
    //     perror("dup2 error");
    // }
    // char buffer[1024];
    // ssize_t rret=read(0,buffer,sizeof(buffer)-1);
    // if(rret<0){
    //     perror("read error");
    // }
    // // char buffer[1024]="this is a test";
    // // write(fd,buffer,sizeof(buffer)-1);
    // printf("%s",buffer);
    // fflush(stdout);

    // int ret=fcntl(fd,F_GETFD);
    // ret |= FD_CLOEXEC;
    // fcntl(fd,F_SETFD,ret);
    // printf("%d",ret);

    // int ret=fcntl(fd,F_GETFL);
    // printf("%d\n",ret);
    // ret |= O_CLOEXEC;
    // printf("%d\n",ret);

    // fd_set set;
    // std::cout<<sizeof(set)<<std::endl;


    return 0;
}